package reportsV20210630

// Response for GetReports
type GetReportsResponse struct {
	Reports   []report `json:"reports"`
	NextToken string   `json:"nextToken,omitempty"`
}

// CreateReportResponse represents the response for the createReport API call
type CreateReportResponse struct {
	ReportId string `json:"reportId"`
}

// GetReportResponse represents the response for the getReport API call
type GetReportResponse report
type report struct {
	MarketplaceIds      []string `json:"marketplaceIds,omitempty"`
	ReportId            string   `json:"reportId"`
	ReportType          string   `json:"reportType"`
	DataStartTime       string   `json:"dataStartTime,omitempty"`
	DataEndTime         string   `json:"dataEndTime,omitempty"`
	ReportScheduleId    string   `json:"reportScheduleId,omitempty"`
	CreatedTime         string   `json:"createdTime"`
	ProcessingStatus    string   `json:"processingStatus"`
	ProcessingStartTime string   `json:"processingStartTime,omitempty"`
	ProcessingEndTime   string   `json:"processingEndTime,omitempty"`
	ReportDocumentId    string   `json:"reportDocumentId,omitempty"`
}

// GetReportSchedulesResponse represents the response for the getReportSchedules API call
type GetReportSchedulesResponse struct {
	ReportSchedules []reportSchedule `json:"reportSchedules"`
}

// CreateReportScheduleResponse represents the response for the createReportSchedule API call
type CreateReportScheduleResponse struct {
	ReportScheduleId string `json:"reportScheduleId"`
}
type GetReportScheduleResponse reportSchedule

type reportSchedule struct {
	ReportScheduleId       string            `json:"reportScheduleId"`
	ReportType             string            `json:"reportType"`
	MarketplaceIds         []string          `json:"marketplaceIds,omitempty"`
	ReportOptions          map[string]string `json:"reportOptions,omitempty"`
	Period                 string            `json:"period"`
	NextReportCreationTime string            `json:"nextReportCreationTime,omitempty"`
}

// GetReportDocumentResponse represents the response for the getReportDocument API call
type GetReportDocumentResponse struct {
	ReportDocumentId     string `json:"reportDocumentId"`
	Url                  string `json:"url"`
	CompressionAlgorithm string `json:"compressionAlgorithm,omitempty"`
}
